
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>灵感发生器 - AI内容工坊</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Segoe UI', 'HarmonyOS Sans', sans-serif;
        }

        body {
            background: linear-gradient(135deg, #0f0c29, #302b63, #24243e);
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            align-items: center;
            color: #e2e8f0;
            padding: 20px;
            overflow-x: hidden;
        }

        .container {
            max-width: 1200px;
            width: 100%;
            margin: 0 auto;
            padding: 20px;
        }

        .header {
            text-align: center;
            margin-bottom: 40px;
            color: white;
            position: relative;
            padding: 25px;
            background: rgba(28, 30, 48, 0.8);
            border-radius: 20px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
        }

        .logo-container {
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 20px;
        }

        .logo-icon {
            width: 70px;
            height: 70px;
            background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
            border-radius: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-right: 15px;
            box-shadow: 0 8px 20px rgba(79, 70, 229, 0.3);
        }

        .logo-icon i {
            font-size: 36px;
            color: white;
        }

        .logo-text {
            font-size: 48px;
            font-weight: 800;
            background: linear-gradient(135deg, #818cf8 0%, #c4b5fd 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            letter-spacing: 1px;
            text-shadow: 0 2px 10px rgba(164, 158, 254, 0.3);
        }

        .subtitle {
            font-size: 24px;
            margin: 15px 0 25px;
            color: #94a3b8;
            font-weight: 500;
            letter-spacing: 1px;
        }

        .tabs {
            display: flex;
            justify-content: center;
            gap: 20px;
            margin-bottom: 30px;
            flex-wrap: wrap;
        }

        .tab {
            padding: 12px 30px;
            background: rgba(255, 255, 255, 0.15);
            border: none;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s;
            border-radius: 50px;
            margin: 0 5px;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
            color: #e2e8f0;
            font-size: 18px;
        }

        .tab.active {
            background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
            color: white;
            box-shadow: 0 4px 15px rgba(79, 70, 229, 0.4);
        }

        .tab:hover {
            transform: translateY(-3px);
            box-shadow: 0 6px 15px rgba(79, 70, 229, 0.4);
        }

        .content-section {
            display: none;
            animation: fadeIn 0.5s ease-in-out;
            background: rgba(28, 30, 48, 0.7);
            border-radius: 20px;
            padding: 30px;
            margin-bottom: 40px;
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4);
            border: 1px solid rgba(90, 100, 220, 0.4);
        }

        .content-section.active {
            display: block;
        }

        .section-title {
            font-size: 32px;
            text-align: center;
            margin-bottom: 25px;
            background: linear-gradient(90deg, #818cf8, #c4b5fd);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            font-weight: 700;
            letter-spacing: 0.8px;
            position: relative;
            padding-bottom: 15px;
        }

        .section-title::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 200px;
            height: 4px;
            background: linear-gradient(90deg, #818cf8, #c4b5fd);
            border-radius: 2px;
        }

        .story-container {
            background: rgba(40, 42, 65, 0.6);
            border-radius: 15px;
            padding: 25px;
            margin-bottom: 25px;
            border: 1px solid rgba(90, 100, 220, 0.3);
        }

        .story-text {
            font-size: 18px;
            line-height: 1.8;
            margin-bottom: 25px;
            color: #e2e8f0;
            min-height: 120px;
            padding: 15px;
            background: rgba(35, 36, 58, 0.4);
            border-radius: 10px;
        }

        .choices-container {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 20px;
            margin: 25px 0;
        }

        .choice {
            background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
            color: white;
            border: none;
            border-radius: 15px;
            padding: 20px;
            font-size: 18px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            gap: 15px;
            text-align: left;
            box-shadow: 0 5px 15px rgba(79, 70, 229, 0.4);
        }

        .choice:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 20px rgba(79, 70, 229, 0.6);
            background: linear-gradient(135deg, #7c3aed 0%, #4f46e5 100%);
        }

        .choice-icon {
            font-size: 24px;
        }

        .result-container {
            background: rgba(40, 42, 65, 0.6);
            border-radius: 15px;
            padding: 25px;
            margin-top: 25px;
            border: 1px solid rgba(90, 100, 220, 0.3);
            display: none;
        }

        .result-title {
            font-size: 22px;
            color: #c4b5fd;
            margin-bottom: 15px;
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .result-content {
            font-size: 18px;
            line-height: 1.8;
            padding: 20px;
            background: rgba(35, 36, 58, 0.4);
            border-radius: 10px;
            min-height: 120px;
        }

        .input-group {
            display: flex;
            gap: 20px;
            margin-bottom: 25px;
            flex-wrap: wrap;
        }

        .input-container {
            flex: 1;
            min-width: 250px;
        }

        .input-label {
            display: block;
            margin-bottom: 10px;
            font-size: 18px;
            color: #94a3b8;
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .input-field {
            width: 100%;
            padding: 15px;
            background: rgba(40, 42, 65, 0.7);
            border: 2px solid #4f46e5;
            border-radius: 15px;
            font-size: 16px;
            color: #e2e8f0;
            transition: all 0.3s ease;
        }

        .input-field:focus {
            outline: none;
            border-color: #818cf8;
            box-shadow: 0 0 15px rgba(129, 140, 248, 0.4);
        }

        .input-field::placeholder {
            color: #64748b;
        }

        .btn {
            background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
            color: white;
            border: none;
            border-radius: 50px;
            padding: 15px 35px;
            font-size: 18px;
            font-weight: 600;
            cursor: pointer;
            box-shadow: 0 7px 20px rgba(79, 70, 229, 0.5);
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .btn:hover {
            transform: translateY(-3px);
            box-shadow: 0 10px 25px rgba(79, 70, 229, 0.7);
        }

        .btn:active {
            transform: translateY(1px);
        }

        .btn-lg {
            padding: 16px 45px;
            font-size: 20px;
        }

        .adventure-container {
            background: rgba(40, 42, 65, 0.6);
            border-radius: 15px;
            padding: 30px;
            margin-top: 20px;
            border: 1px solid rgba(90, 100, 220, 0.3);
        }

        .adventure-title {
            font-size: 24px;
            color: #c4b5fd;
            margin-bottom: 20px;
            text-align: center;
        }

        .adventure-story {
            font-size: 18px;
            line-height: 1.8;
            padding: 20px;
            background: rgba(35, 36, 58, 0.4);
            border-radius: 10px;
            min-height: 150px;
            margin-bottom: 25px;
        }

        .adventure-choices {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 20px;
        }

        .adventure-choice {
            background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
            color: white;
            border: none;
            border-radius: 15px;
            padding: 20px;
            font-size: 18px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            text-align: center;
            box-shadow: 0 5px 15px rgba(79, 70, 229, 0.4);
        }

        .adventure-choice:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 20px rgba(79, 70, 229, 0.6);
            background: linear-gradient(135deg, #7c3aed 0%, #4f46e5 100%);
        }

        .adventure-controls {
            display: flex;
            justify-content: center;
            gap: 20px;
            margin-top: 30px;
        }

        .centered {
            display: flex;
            justify-content: center;
            margin-top: 25px;
        }

        .story-selector {
            display: flex;
            justify-content: center;
            gap: 20px;
            margin-bottom: 30px;
        }

        .story-option {
            background: rgba(40, 42, 65, 0.6);
            border-radius: 15px;
            padding: 20px;
            text-align: center;
            cursor: pointer;
            transition: all 0.3s ease;
            border: 2px solid rgba(90, 100, 220, 0.3);
            flex: 1;
            max-width: 300px;
        }

        .story-option.active {
            border-color: #7c3aed;
            box-shadow: 0 0 20px rgba(124, 58, 237, 0.5);
        }

        .story-option:hover {
            transform: translateY(-5px);
        }

        .story-icon {
            font-size: 48px;
            margin-bottom: 15px;
        }

        .story-name {
            font-size: 24px;
            font-weight: 600;
            margin-bottom: 10px;
        }

        .story-desc {
            font-size: 16px;
            color: #94a3b8;
        }

        .particle {
            position: absolute;
            font-size: 1.5rem;
            opacity: 0;
            animation: float 1.5s ease-out forwards;
            z-index: 5;
            pointer-events: none;
        }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

        @keyframes float {
            0% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0px); }
            100% { opacity: 0; transform: translateY(-80px) scale(0.5); filter: blur(2px); }
        }

        @media (max-width: 768px) {
            .logo-text {
                font-size: 36px;
            }

            .subtitle {
                font-size: 18px;
            }

            .tab {
                padding: 10px 20px;
                font-size: 16px;
            }

            .section-title {
                font-size: 28px;
            }

            .choices-container, .adventure-choices {
                grid-template-columns: 1fr;
            }

            .choice, .adventure-choice {
                padding: 15px;
                font-size: 16px;
            }

            .story-selector {
                flex-direction: column;
                align-items: center;
            }
        }
    </style>
</head>
<body>
<div class="container">
    <div class="header">
        <div class="logo-container">
            <div class="logo-icon">
                <i class="fas fa-lightbulb"></i>
            </div>
            <div class="logo-text">灵感发生器</div>
        </div>
        <p class="subtitle">AI内容工坊 - 故事分支 · 创意生成 · 文字冒险</p>
    </div>

    <div class="tabs">
        <button class="tab active" data-tab="story">多线叙事</button>
        <button class="tab" data-tab="ai">创意生成</button>
        <button class="tab" data-tab="adventure">文字冒险</button>
    </div>

    <!-- 多线叙事部分 - 已替换为 F.html 中的版本 -->
    <div class="content-section active" id="story-section">
        <h2 class="section-title">多线叙事</h2>
        <p class="subtitle" style="text-align: center; margin-bottom: 25px;">选择故事线，体验不同结局</p>

        <div class="story-selector">
            <div class="story-option active" data-story="space">
                <div class="story-icon">🚀🚀</div>
                <div class="story-name">太空科幻</div>
                <div class="story-desc">月球基地的神秘发现</div>
            </div>
            <div class="story-option" data-story="spy">
                <div class="story-icon">🕵🕵🕵️</div>
                <div class="story-name">间谍惊悚</div>
                <div class="story-desc">冷战时期的致命任务</div>
            </div>
        </div>

        <div class="story-container">
            <div class="story-text" id="story-text"></div>
            <div class="choices-container" id="story-choices"></div>
        </div>

        <div class="result-container" id="branch-result">
            <h3 class="result-title"><i class="fas fa-star"></i> 叙事路径</h3>
            <div class="result-content" id="branch-content"></div>
        </div>

        <div class="centered">
            <button class="btn" id="reset-story">
                <i class="fas fa-redo"></i> 开始新故事
            </button>
        </div>
    </div>

    <!-- 创意生成部分 - 保持不变 -->
    <div class="content-section" id="ai-section">
        <h2 class="section-title">创意生成</h2>
        <p class="subtitle" style="text-align: center; margin-bottom: 25px;">输入关键词，生成独特创意</p>

        <div class="input-group">
            <div class="input-container">
                <label class="input-label"><i class="fas fa-user-astronaut"></i> 第一个元素</label>
                <input type="text" class="input-field" id="element1" placeholder="输入关键词（例如：宇航员）">
            </div>

            <div class="input-container">
                <label class="input-label"><i class="fas fa-whale"></i> 第二个元素</label>
                <input type="text" class="input-field" id="element2" placeholder="输入关键词（例如：鲸鱼）">
            </div>
        </div>

        <div class="centered">
            <button class="btn btn-lg" id="generate-btn">
                <i class="fas fa-bolt"></i> 生成创意内容
            </button>
        </div>

        <div class="result-container" id="ai-result">
            <h3 class="result-title"><i class="fas fa-wand-sparkles"></i> AI创作内容</h3>
            <div class="result-content" id="ai-content">
                <!-- AI生成的内容将在这里显示 -->
            </div>
        </div>
    </div>

    <!-- 文字冒险部分 - 保持不变 -->
    <div class="content-section" id="adventure-section">
        <h2 class="section-title">文字冒险</h2>
        <p class="subtitle" style="text-align: center; margin-bottom: 25px;">输入主题，开启你的冒险旅程</p>

        <div class="input-container">
            <label class="input-label"><i class="fas fa-dragon"></i> 冒险主题</label>
            <input type="text" class="input-field" id="adventure-theme" placeholder="输入冒险主题（例如：太空探险、古墓寻宝）">
        </div>

        <div class="centered">
            <button class="btn btn-lg" id="start-adventure">
                <i class="fas fa-play"></i> 开始冒险
            </button>
        </div>

        <div class="adventure-container" id="adventure-container" style="display: none;">
            <h3 class="adventure-title" id="adventure-title">你的冒险旅程</h3>
            <div class="adventure-story" id="adventure-story">
                <!-- 冒险故事将在这里显示 -->
            </div>

            <div class="adventure-choices" id="adventure-choices">
                <!-- 冒险选择将在这里显示 -->
            </div>

            <div class="adventure-controls">
                <button class="btn" id="restart-adventure">
                    <i class="fas fa-redo"></i> 重新开始
                </button>
                <button class="btn" id="save-adventure">
                    <i class="fas fa-save"></i> 保存故事
                </button>
            </div>
        </div>
    </div>
</div>

<script>
    // 多线叙事分支数据 - 来自 F.html
    const storyBranches = {
        space: {
        0: {
            text: "公元2222年，你作为月球基地的首席科学家，在月海深处发现了一个神秘物体。扫描结果显示，这个物体似乎来自银河系之外，并且含有未知的能量信号...",
            choices: [
                { text: "使用基地的能量核心激活物体", next: 1 },
                { text: "派遣AI机器人先遣队去探查", next: 2 },
                { text: "向地球总部申请特殊防护装备", next: 3 }
            ]
        },
        1: {
            text: "当你将能量核心连接到神秘物体时，整个月震监测站都开始震动。物体表面开始发光，并显示出复杂的符号。一个声音直接在你的意识中响起：'你们的能源系统对我们很有趣...'",
            choices: [
                { text: "尝试与这个意识体进行沟通", next: 11 },
                    { text: "立即断开能量核心的连接", next: 12 },
                    { text: "记录下符号并上传总部", next: 15 }
            ]
        },
        11: {
            text: "你通过意识交流了解到这是来自仙女星系'创造者联盟'的技术样本。作为对他们技术的交换，他们提出给地球提供一种清洁能源技术。但这会带来政治动荡...",
            choices: [
                { text: "接受技术交换的提议", next: 21 },
                    { text: "婉拒但请求建立知识交流", next: 22 },
                    { text: "试图窃取更多技术信息", next: 23 }
            ]
        },
        21: {
            text: "在你将清洁能源技术带回地球的第五年，地球确实实现了零排放目标，但也引起了能源寡头们的激烈反抗，引发了名为'太阳战争'的全球冲突...",
            final: true,
            summary: "结局：技术革命\n\n你选择的路径导致了技术跃升，但也加剧了社会矛盾。在获得外星先进能源技术的同时，地球陷入了一场名为'太阳战争'的全球冲突。作为第一个接触外星科技的人，你被推向了历史前台，成为新时代的领袖也是争议中心人物。\n\n关键转折：选择接受外星的快速技术转让导致能源革命。",
            score: 95,
            rank: "S"
        },
        22: {
            text: "尽管进展缓慢，但通过逐渐的文化和技术交流，地球与仙女星系建立了持久的盟友关系。100年后，人类终于有能力进行星际殖民，成为星际公民...",
            final: true,
                summary: "结局：星际联盟\n\n通过谨慎的文化交流，人类逐渐接受了仙女星系的知识。这段合作关系使人类在和平中进入星际时代。你成为历史上第一位'星际文化大使'，为人类开辟了与其他文明共存的新模式。\n极简转折：选择建立长期合作关系而非快速技术转移。",
                score: 92,
                rank: "S"
            },
            23: {
                text: "你试图在意识交流中窃取更多技术信息，但被对方察觉。创造者联盟立即切断了联系，并在月球基地周围布下了能量屏障...",
                final: true,
                summary: "结局：技术封锁\n\n你的贪婪导致了外星文明对地球的警惕。月球基地被能量屏障隔绝，地球失去了与外星文明的所有联系。你被历史记为'技术封锁的始作俑者'。\n\n关键转折：试图窃取导致彻底失去合作机会。",
                score: 80,
                rank: "A"
        },
        12: {
            text: "在你断开连接时，神秘物体突然启动，将整个月球基地的能量全部吸收。接着它像花朵一样绽放，释放出数十万个微小晶体散布到地球轨道...",
            final: true,
            summary: "结局：星际播种者\n\n你无意中激活了外星设备的播种机制。数十万晶体在接触地球大气层后化为无害能量，但改变了地球生物的DNA，引发了一波加速进化。你被后代称为'星际播种者'，新时代的物种以你为名。\n\n关键转折：因恐惧而断开连接导致无法控制的后果。",
            score: 88,
            rank: "S"
        },
            15: {
                text: "你将符号上传总部后，地球科学家解读出部分内容：这是一个星际坐标和警告信息。总部命令你立刻撤离，但你发现基地已被神秘能量场包围...",
                choices: [
                    { text: "尝试强行突破能量场", next: 16 },
                    { text: "继续研究能量场结构", next: 17 }
                ]
            },
            16: {
                text: "你驾驶飞船强行冲出能量场，飞船严重受损但最终脱离。你带回了部分外星数据，地球科学界为此震动...",
                final: true,
                summary: "结局：带伤归来\n\n你冒险带回了外星数据，但也付出了巨大代价。你成为英雄，但身体因辐射受损终身残疾。\n\n关键转折：冒险突破导致个人牺牲。",
                score: 85,
                rank: "B"
            },
            17: {
                text: "你深入研究能量场结构，发现其本质是一种高维空间折叠。你利用基地的量子计算机破解了部分结构，意外打开了通往另一个宇宙的通道...",
                final: true,
                summary: "结局：多元宇宙探索者\n\n你成为第一个进入平行宇宙的人类。虽然失去了与地球的联系，但你在新宇宙中开启了全新的人生。\n\n关键转折：科学探索带来意外突破。",
                score: 90,
                rank: "S"
        },
        2: {
            text: "机器人队伍进入物体内部后，传输回难以置信的数据：里面是一个完整的生态球，有奇特的植物和小型生物存在。但随后，一个巨大的影子出现在生态城市上空...",
            choices: [
                { text: "让机器人采集样本后立即返回", next: 13 },
                    { text: "继续探索并尝试与生物接触", next: 14 },
                    { text: "远程引爆机器人以防风险", next: 18 }
            ]
        },
        13: {
            text: "当机器人返回时，它们的金属表面粘附了神秘植物孢子。这些孢子在月球的特殊环境下迅速生长，一天内就覆盖了整个基地建筑，形成了一座奇异植物都市...",
            final: true,
            summary: "结局：植物都市\n\n你带回了改变月球环境的生命形态。奇异植物以不可思议的速度成长，将月球基地转变为星际丛林。你成为这个新生态系统的守护者，与改造后的植物生命形成了共生关系。\n\n关键转折：谨慎地带回外星生命样本。",
            score: 90,
            rank: "S"
        },
        14: {
            text: "你的机器人触发了球内生物警报系统，巨大生物启动了某种装置，机器人信号突然中断。而基地工作人员报告说，所有玻璃表面都开始出现奇怪的数字...",
                choices: [
                    { text: "尝试解读数字信息", next: 19 },
                    { text: "紧急撤离基地", next: 20 }
                ]
            },
            18: {
                text: "你选择远程引爆机器人，防止未知生物威胁扩散。爆炸后，生态球内部出现了空间裂缝，释放出大量能量，月球基地遭受波及...",
            final: true,
                summary: "结局：能量风暴\n\n你的谨慎避免了生物威胁，但引发了能量风暴，基地严重受损。你被记为'谨慎的毁灭者'。\n\n关键转折：过度防范导致意外灾难。",
                score: 75,
                rank: "B"
            },
            19: {
                text: "你解读出数字是某种外星警告，提示即将有大规模生态变化。你及时封锁了基地，避免了灾难扩散。你被授予'星际守护者'称号...",
                final: true,
                summary: "结局：星际守护者\n\n你凭借冷静和智慧，避免了一场灾难。你成为星际生态安全领域的权威。\n\n关键转折：理性分析带来最佳结局。",
                score: 92,
                rank: "S"
            },
            20: {
                text: "你带领团队紧急撤离，虽然损失了基地，但保住了所有人员安全。你在地球上成立了专门研究外星生态的实验室...",
                final: true,
                summary: "结局：科学传承\n\n你用果断的决策保住了团队，成为外星生态研究的开创者。\n\n关键转折：以人为本的选择带来新事业。",
                score: 88,
                rank: "S"
            },
            3: {
                text: "你向地球总部申请了特殊防护装备，但总部回复说装备正在紧急调配中。你决定亲自前往月球基地，带上所有可用的防护装备。",
                choices: [
                    { text: "立即前往月球基地", next: 4 },
                    { text: "等待总部装备到达", next: 5 },
                    { text: "尝试联系其他国际空间站求助", next: 6 }
                ]
            },
            4: {
                text: "你到达月球基地时，发现基地已经完全被神秘物体控制。你试图与物体沟通，但没有任何回应。你决定尝试断开连接，但物体突然启动，将你吸入其中...",
                final: true,
                summary: "结局：未知结局\n\n你被神秘物体吸收，进入了某种未知的维度。你的意识被保留，但身体已无法感知。你成为了月球基地的守护者，还是成为了物体的一部分？\n\n关键转折：尝试断开连接导致不可预测的后果。",
                score: 80,
                rank: "A"
            },
            5: {
                text: "总部装备到达后，你立即前往月球基地。但到达时，基地已经完全被神秘物体控制。你试图与物体沟通，但没有任何回应。你决定尝试断开连接，但物体突然启动，将你吸入其中...",
                final: true,
                summary: "结局：未知结局\n\n你被神秘物体吸收，进入了某种未知的维度。你的意识被保留，但身体已无法感知。你成为了月球基地的守护者，还是成为了物体的一部分？\n\n关键转折：尝试断开连接导致不可预测的后果。",
                score: 80,
                rank: "A"
            },
            6: {
                text: "你联系国际空间站后，对方派出救援飞船协助。你们联合行动，成功将神秘物体隔离并带回地球轨道进行研究...",
                final: true,
                summary: "结局：国际合作\n\n你促成了人类历史上最大规模的太空合作。神秘物体成为地球各国联合研究的对象，开启了太空外交新时代。\n\n关键转折：国际协作带来和平发展。",
                score: 95,
                rank: "S"
            }
        },
        spy: {
            0: {
                text: "1962年，冷战高峰期，你是苏联克格勃的一名高级间谍，接到潜入柏林墙西侧的绝密任务...",
                choices: [
                    { text: "伪装成西德工程师渗透", next: 1 },
                    { text: "贿赂边境守卫", next: 2 },
                    { text: "请求总部支援", next: 3 }
                ]
            },
            // 伪装渗透主线
            1: {
                text: "你伪装成西德工程师，成功进入西柏林。你需要前往目标工厂获取绝密文件。途中，你发现有人在跟踪你...",
                choices: [
                    { text: "甩掉跟踪者，继续前进", next: 101 },
                    { text: "主动接近对方试探身份", next: 102 }
                ]
            },
            101: {
                text: "你巧妙地利用人群和地铁甩掉了跟踪者，顺利抵达工厂。你混入夜班，准备潜入档案室...",
                choices: [
                    { text: "夜间潜入档案室", next: 103 },
                    { text: "先观察工厂安保情况", next: 104 }
                ]
            },
            102: {
                text: "你主动接近对方，发现对方竟然是苏联安插的另一名间谍。你们交换情报，决定协作完成任务...",
                choices: [
                    { text: "两人协作潜入档案室", next: 103 },
                    { text: "让同伴吸引注意力，自己行动", next: 104 }
                ]
            },
            103: {
                text: "你们顺利进入档案室，找到了绝密文件。但警报突然响起，安保人员开始搜查...",
                choices: [
                    { text: "藏身通风管道", next: 105 },
                    { text: "伪装成清洁工混出工厂", next: 106 },
                    { text: "粗心大意暴露行踪", next: 999 }
                ]
            },
            104: {
                text: "你发现安保系统有定时巡逻漏洞。你利用这个漏洞，悄悄进入档案室，取得文件。正准备离开时，遇到一名可疑工人...",
                choices: [
                    { text: "假装与其闲聊拖延时间", next: 105 },
                    { text: "直接制服对方", next: 106 },
                    { text: "粗心大意被发现", next: 999 }
                ]
            },
            999: {
                text: "由于你的粗心大意，行踪暴露，被敌方特工包围。你与敌人激烈交火，最终倒在乱枪之下。你的上司在国际媒体前否认了你的身份，你的名字被彻底抹去，成为历史的孤魂野鬼。",
                choices: [
                    { text: "奋勇反击，以一敌百", next: 1000 }
                ],
                final: true,
                summary: "结局：孤魂野鬼\n\n你的粗心导致任务失败，死于乱枪之中。上司否认你的存在，你的身份被彻底抹去，成为历史的无名幽灵。\n\n关键转折：粗心大意带来最悲惨的结局。",
                score: 40,
                rank: "F"
            },
            1000: {
                text: "你在绝境中爆发出惊人的战斗力，孤身一人以一敌百，击退所有敌人，带着情报安全撤离。你的英勇事迹震惊世界，被誉为传奇‘战神’。",
                final: true,
                summary: "结局：战神\n\n你以一敌百，力挽狂澜，安全带回情报，成为间谍史上的传奇‘战神’。你的名字被后人传颂，成为不朽的神话。\n\n关键转折：绝境爆发，逆转命运。",
                score: 120,
                rank: "SSS"
            },
            // 贿赂守卫主线
            2: {
                text: "你贿赂了边境守卫，成功穿越柏林墙。你需要与西方联络人接头，但发现有人在暗中监视...",
                choices: [
                    { text: "更换接头地点", next: 201 },
                    { text: "故意暴露自己引出对方", next: 202 }
                ]
            },
            201: {
                text: "你临时更换接头地点，成功甩掉监视者。联络人交给你一份加密情报，需要你破解...",
                choices: [
                    { text: "回到安全屋破解情报", next: 203 },
                    { text: "带情报直接返回东德", next: 204 }
                ]
            },
            202: {
                text: "你故意暴露行踪，引出监视者。对方竟是西德反间谍人员。你被带到秘密审讯室...",
                choices: [
                    { text: "坦白部分身份换取自由", next: 12 },
                    { text: "坚决不招供，等待机会反击", next: 13 }
                ]
            },
            203: {
                text: "你在安全屋成功破解情报，发现其中隐藏着一份关于美苏核武部署的绝密计划...",
                choices: [
                    { text: "将情报传回苏联", next: 10 },
                    { text: "销毁情报以防泄密", next: 11 },
                    { text: "将情报高价卖给第三方后跑路", next: 14 },
                    { text: "带情报离开，准备独自跑路", next: 15 },
                    { text: "粗心大意被跟踪", next: 999 }
                ]
            },
            204: {
                text: "你带着情报返回东德途中，被西德特工追踪。你需要甩掉追兵...",
                choices: [
                    { text: "利用地铁甩掉追兵", next: 10 },
                    { text: "藏身人群中伺机脱身", next: 11 }
                ]
            },
            // 请求支援主线
            3: {
                text: "你请求总部支援，但总部回复说支援正在紧急调配中。你决定亲自前往柏林墙，带上所有可用的装备。",
                choices: [
                    { text: "立即前往柏林墙", next: 301 },
                    { text: "等待总部装备到达", next: 302 },
                    { text: "联系东德地下组织", next: 303 }
                ]
            },
            301: {
                text: "你带着有限装备前往柏林墙，途中遭遇东德巡逻队盘查...",
                choices: [
                    { text: "谎称自己是外交人员", next: 304 },
                    { text: "用假证件蒙混过关", next: 305 }
                ]
            },
            302: {
                text: "总部装备到达后，你全副武装前往柏林墙。你发现边境安保升级，需要寻找新的突破口...",
                choices: [
                    { text: "伪装成商人混入", next: 304 },
                    { text: "贿赂边境小队", next: 305 }
                ]
            },
            303: {
                text: "你联系东德地下组织，对方为你提供了假身份和逃亡路线。你成功完成任务并安全返回苏联...",
                final: true,
                summary: "结局：隐秘英雄\n\n你用智慧和隐忍完成了任务，成为苏联情报史上的隐秘英雄。\n\n关键转折：地下力量助你成功。",
                score: 90,
                rank: "S"
            },
            304: {
                text: "你成功蒙混过关，进入西柏林。你需要与联络人接头，但发现对方身份可疑...",
                choices: [
                    { text: "试探对方身份", next: 306 },
                    { text: "直接交换情报", next: 307 }
                ]
            },
            305: {
                text: "你用假证件或贿赂成功过关，但被反间谍部门盯上。你需要甩掉跟踪者...",
                choices: [
                    { text: "利用夜色甩掉跟踪", next: 306 },
                    { text: "反向跟踪对方", next: 307 }
                ]
            },
            306: {
                text: "你试探对方身份，发现对方其实是双面间谍。你们达成临时合作，成功交换情报...",
                choices: [
                    { text: "将情报带回苏联", next: 10 },
                    { text: "销毁情报以防泄密", next: 11 }
                ]
            },
            307: {
                text: "你直接交换情报，但被西德特工发现。你需要紧急撤离...",
                choices: [
                    { text: "伪装成平民逃离", next: 10 },
                    { text: "藏身下水道脱身", next: 11 }
                ]
            },
            // 结局与原有分支
            10: {
                text: "你策划了一场大胆的越狱行动，虽然过程惊险，但最终成功逃出监狱。你成为苏联的传奇间谍，被授予最高荣誉...",
                final: true,
                summary: "结局：传奇间谍\n\n你用智慧和勇气完成了不可能的任务，成为冷战史上的传奇人物。\n\n关键转折：越狱成功逆转命运。",
                score: 98,
                rank: "S"
            },
            11: {
                text: "你与狱友结盟，获得了监狱内部的情报网络。通过合作，你不仅逃出了监狱，还掌握了西方情报机关的秘密...",
                final: true,
                summary: "结局：双面间谍\n\n你成为双面间谍，游走于东西方之间，影响了冷战格局。\n\n关键转折：合作带来意外收获。",
                score: 90,
                rank: "A"
            },
            12: {
                text: "你供出了部分情报，获得了减刑，但也被苏联列为叛徒，余生只能在西方隐姓埋名...",
                final: true,
                summary: "结局：流亡者\n\n你用情报换取自由，但失去了祖国和身份。\n\n关键转折：现实妥协带来孤独结局。",
                score: 70,
                rank: "C"
            },
            13: {
                text: "你坚决不招供，最终被判终身监禁。但你的忠诚被苏联传颂，成为克格勃精神的象征...",
                final: true,
                summary: "结局：忠诚象征\n\n你用沉默守护了国家机密，成为苏联的英雄。\n\n关键转折：忠诚换来精神不朽。",
                score: 85,
                rank: "B"
            },
            // 新增结局：自己卖掉情报跑路，某一天，亡于冰镐（优化表达）
            14: {
                text: "你决定将情报高价卖给第三方后跑路，过上了短暂的奢华生活。但某一天，在异国他乡的夜晚，你被一名神秘男子用冰镐刺杀，成为冷战暗流中的牺牲品。你的死讯无人知晓，最终只留下一个谜团。",
                final: true,
                summary: "结局：冰镐之夜\n\n你选择背叛所有阵营，靠情报换取金钱和自由。但命运终究没有放过你，最终死于一场精心策划的暗杀。你的结局成为历史悬案，被后人反复猜测。\n\n关键转折：背叛与贪婪带来最孤独的结局。",
                score: 65,
                rank: "D"
            },
            // 新增分支与结局：螳螂捕蝉黄雀在后
            15: {
                text: "你带着情报准备独自跑路，正当你以为一切顺利时，突然遭遇神秘袭击。对方早已布下天罗地网，经过一夜的挣扎与反抗，天亮后，你已经化为尘埃，从此消失，成为历史悬案。",
                final: true,
                summary: "结局：黄雀在后\n\n你以为自己掌控全局，却不知早已被更高明的猎手盯上。你的消失成为冷战史上的未解谜案，所有势力都在猜测你的下落。\n\n关键转折：螳螂捕蝉黄雀在后，贪婪与自信反成致命破绽。",
                score: 68,
                rank: "C"
            }
        }
    };
    
    // 多线叙事状态变量
    let currentStoryType = 'space';
    let currentStoryStep = 0;

    // 故事线切换 - 来自 F.html
    const storyOptions = document.querySelectorAll('.story-option');
    storyOptions.forEach(option => {
        option.addEventListener('click', function() {
            storyOptions.forEach(o => o.classList.remove('active'));
            this.classList.add('active');
            currentStoryType = this.getAttribute('data-story');
            resetStory();
        });
    });

    function updateStory(stepId) {
        const step = storyBranches[currentStoryType][stepId];
        if (!step) return;
        document.getElementById('story-text').textContent = step.text;
        const choicesDiv = document.getElementById('story-choices');
        choicesDiv.innerHTML = '';
        document.getElementById('branch-result').style.display = 'none';
        if (step.choices && step.choices.length > 0) {
            step.choices.forEach(choice => {
                const btn = document.createElement('button');
                btn.className = 'choice';
                btn.textContent = choice.text;
                btn.onclick = () => updateStory(choice.next);
                choicesDiv.appendChild(btn);
            });
        } else if (step.final) {
            let resultHtml = step.summary;
            if (typeof step.score !== 'undefined' && typeof step.rank !== 'undefined') {
                resultHtml += `\n\n评分：${step.score}  等级：${step.rank}`;
            }
            document.getElementById('branch-content').textContent = resultHtml;
            document.getElementById('branch-result').style.display = 'block';
        }
    }

    function resetStory() {
        currentStoryStep = 0;
        updateStory(0);
    }
    
    // 文字冒险模板 - 保持不变
    const adventureTemplates = {
        space: {
            title: "太空探险",
            start: "你作为星际飞船'探索号'的船长，正在执行一项深空探测任务。突然，飞船接收到来自未知星系的求救信号。信号源位于一个从未被探索过的星云内部...",
                choices: [
                { text: "前往信号源调查", next: "space1" },
                { text: "向星际联盟报告", next: "space2" },
                { text: "增强飞船防御系统", next: "space3" }
            ]
        },
        tomb: {
            title: "古墓寻宝",
            start: "作为考古学家，你在埃及沙漠发现了一个未被记载的法老墓穴。进入墓穴后，你发现墙壁上刻满了神秘的象形文字，通道深处传来奇怪的声音...",
                choices: [
                { text: "解读墙壁上的象形文字", next: "tomb1" },
                { text: "探索声音来源", next: "tomb2" },
                { text: "设置安全营地", next: "tomb3" }
            ]
        },
        cyberpunk: {
            title: "赛博都市",
            start: "在霓虹闪烁的未来都市，你是一名顶尖黑客。你接到一个神秘委托：入侵全球最大的科技公司'天网系统'的核心数据库。报酬高得惊人，但风险同样巨大...",
                choices: [
                { text: "接受委托开始行动", next: "cyber1" },
                { text: "调查委托人的背景", next: "cyber2" },
                { text: "提升自己的黑客装备", next: "cyber3" }
            ]
        },
        fantasy: {
            title: "魔法王国",
            start: "在艾尔达王国，你是一名年轻的魔法学徒。王国正面临黑暗势力的威胁，而你在古籍中发现了一个可能拯救王国的古老咒语，但需要三种稀有材料...",
                choices: [
                { text: "前往龙之谷寻找龙鳞", next: "fantasy1" },
                { text: "潜入精灵森林获取月光露", next: "fantasy2" },
                { text: "探索古代遗迹寻找星尘", next: "fantasy3" }
            ]
        }
    };

    // 初始化事件监听器
    document.addEventListener('DOMContentLoaded', function() {
        // 标签切换 - 保持不变
        document.querySelectorAll('.tab').forEach(tab => {
            tab.addEventListener('click', function() {
                document.querySelectorAll('.tab').forEach(t => t.classList.remove('active'));
                this.classList.add('active');

                document.querySelectorAll('.content-section').forEach(s => s.classList.remove('active'));
                const target = this.textContent.trim();
                if (target === "多线叙事") {
                    document.getElementById('story-section').classList.add('active');
                } else if (target === "创意生成") {
                    document.getElementById('ai-section').classList.add('active');
                } else if (target === "文字冒险") {
                    document.getElementById('adventure-section').classList.add('active');
                }
            });
        });

        // 多线叙事重置按钮 - 来自 F.html
        document.getElementById('reset-story').addEventListener('click', resetStory);

        // 初始化多线叙事
        resetStory();

        // AI生成 - 保持不变
        document.getElementById('generate-btn').addEventListener('click', generateAIStory);

        // 文字冒险 - 保持不变
        document.getElementById('start-adventure').addEventListener('click', startAdventure);
        document.getElementById('restart-adventure').addEventListener('click', restartAdventure);
        document.getElementById('save-adventure').addEventListener('click', saveAdventure);
    });

    // AI故事生成器 - 保持不变
    function generateAIStory() {
        const element1 = document.getElementById('element1').value || "宇航员";
        const element2 = document.getElementById('element2').value || "鲸鱼";

        const resultContainer = document.getElementById('ai-result');
        resultContainer.style.display = 'block';

        const story = generateStory(element1, element2);
        document.getElementById('ai-content').textContent = story;
    }

    function generateStory(element1, element2) {
        const stories = [
            `在广阔的宇宙中，${element1}号飞船遭遇星云风暴，导航系统失灵，意外跃迁到神秘的鲸鱼座星域。飞船侦测到异常巨大但优美的歌声，通过舷舷窗竟然看到一只行星般巨大的${element2}在星海中畅游。这只宇宙${element2}好奇地围绕着飞船游动，它的皮肤闪烁着银河的光芒。随着它张开嘴巴，${element1}惊讶地发现里面有一整个生态系统和一种可以带他们回家的技术蓝图。`,

            `作为唯一的${element1}生还者漂浮在木卫二的海洋中，${element2}群神秘地出现。它们与地球上的同类完全不同——巨大的发光眼睛像飞船的舷舷窗，背上闪烁着星图的生物光斑。其中一只${element2}小心翼翼地将这位${element1}托在背上，向深海城市游去。在那里，${element1}发现了一个古老的冰下文明，${element2}们守护着能够阻止地球环境崩溃的关键知识。`,

            `在一次深海勘探中，${element1}们发现了一个前所未有的深渊。在探测器进入200公里深度时，突然穿越了某种薄膜，进入了一个空气空间。更令人惊讶的是：这里有陆地、湖泊和天空中自由游弋的巨大${element2}。原来地球空心内部是一整个平行维度，而${element2}是维度守护者。这些深海${极简}与${element1}建立了心灵沟通，揭示了人类起源和地球的真正使命。`,

            `在量子通信实验中，${element1}无意间将自己的意识投射到一只${element2}身上。从那时起，他同时存在于两处：太空站实验室和深海中。通过${element2}的感官，他体验到了海水的脉动、鲸群悠远的歌声和深海都市的灯光。更震撼的是，他发现${element2}实际上拥有远超人类的集体智慧网络。当灾难威胁太空站时，正是来自鲸群意识的信息拯救了他和整个团队。`,

            `星际考古${element1}在系外行星找到一个奇异圆盘：启动后她竟然回溯到远古地球看到一头${element2}的祖先。这不是普通的回溯——那头古代${element2}直接与她意识交流！原来鲸类是远古星际文明安置在地球的记忆容器，而它们一直在等待一个${element1}的到来。通过${element2}的记忆，她看到了太阳系形成前的景象，也找到了改变未来的关键。`
        ];

        return stories[Math.floor(Math.random() * stories.length)];
    }

    // 文字冒险状态 - 保持不变
    let currentAdventure = null;
    let adventureHistory = [];

    // 开始冒险 - 保持不变
    function startAdventure() {
        const theme = document.getElementById('adventure-theme').value.trim().toLowerCase() || "太空探险";

        if (theme.includes("太空") || theme.includes("宇宙")) {
            currentAdventure = JSON.parse(JSON.stringify(adventureTemplates.space));
        } else if (theme.includes("古墓") || theme.includes("考古")) {
            currentAdventure = JSON.parse(JSON.stringify(adventureTemplates.tomb));
        } else if (theme.includes("赛博") || theme.includes("未来")) {
            currentAdventure = JSON.parse(JSON.stringify(adventureTemplates.cyberpunk));
        } else if (theme.includes("魔法") || theme.includes("奇幻")) {
            currentAdventure = JSON.parse(JSON.stringify(adventureTemplates.fantasy));
        } else {
            currentAdventure = JSON.parse(JSON.stringify(adventureTemplates.space));
        }

        adventureHistory = [];
        document.getElementById('adventure-container').style.display = 'block';
        document.getElementById('adventure-title').textContent = currentAdventure.title;
        continueAdventure('start');
    }

    // 继续冒险 - 保持不变
    function continueAdventure(step) {
        if (!currentAdventure) return;

        adventureHistory.push(step);
        document.getElementById('adventure-story').textContent = currentAdventure[step];

        const choicesContainer = document.getElementById('adventure-choices');
        choicesContainer.innerHTML = '';

        if (currentAdventure.choices) {
            currentAdventure.choices.forEach(choice => {
                const button = document.createElement('button');
                button.className = 'adventure-choice';
                button.textContent = choice.text;
                button.addEventListener('click', () => {
                    continueAdventure(choice.next);
                });
                choicesContainer.appendChild(button);
            });
        } else {
            const endButton = document.createElement('button');
            endButton.className = 'adventure-choice';
            endButton.innerHTML = '<i class="fas fa-redo"></i> 重新开始冒险';
            endButton.addEventListener('click', restartAdventure);
            choicesContainer.appendChild(endButton);
        }
    }

    // 重置冒险 - 保持不变
    function restartAdventure() {
        if (currentAdventure) {
            continueAdventure('start');
        }
    }

    // 保存冒险 - 保持不变
    function saveAdventure() {
        if (currentAdventure) {
            const story = adventureHistory.map(step => currentAdventure[step]).join('\n\n');
            const blob = new Blob([story], {type: 'text/plain'});
            const url = URL.createObjectURL(blob);

            const a = document.createElement('a');
            a.href = url;
            a.download = `${currentAdventure.title}_冒险故事.txt`;
            document.body.appendChild(a);
            a.click();
            document.body.removeChild(a);
            URL.revokeObjectURL(url);

            alert('冒险故事已保存！');
        }
    }
</script>
</body>
</html>